Subject: Re: Comments on New Connect flows and some sample SDLC connectio set-ups.

From: Nagi Swaminathan <[email-masked]>
Date: Mon, 7 Mar 94 14:46:58 EST

This mail is to voice some of my comments on the new connection set up and
  to send the SDLC connection sequence I promised to send in the RIG meeting.
  If we agree on these flows, I will add a few more sample flows.

  Regards..

  Nagi.

  Part-I.
  ------      
  My comments on new connection set up proposal and some connection set up 
  flows based on this. I hope that it is not too radical. 

  Part-II
  --------
  Some SDLC connection set up flows totally conforming to the proposal
  put forward by Steve Klein. 

-------------------------------------------------------------------------  
  Part-I.
  ------

  My comments:
  ----------      

  I think with the introduction of CANUREACH_ex and ICANREACH_ex 
  messages, there is no need for additional CANUREACH_cs
  and ICANREACH_cs messages. Sending of XID or CONTACT should implicitly
  set up the circuit. As shown in the following flow, the REACHACK can
  be sent to support the existing implementations. Thereafter, there is no
  difference between the old and the new.

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   LAN                                                             LAN
   Station                                                        Station

TEST_cmd                   CANUREACH_ex(TEST_cmd)             TEST_cmd
----------->                   ------------>                   ----------->

     TEST_rsp              ICANREACH_ex(TEST_rsp)                  TEST_rsp
<-------------              <------------------                <-----------

                           REACH_ACK
                           -------------------> (only for old DLSws)

XID_cmd                          XIDFRAME                          XID_cmd
----------->                   ------------>                   ----------->
 
  XID_rsp                        XIDFRAME                        XID_rsp
<----------                    <-----------                  <------------
 
                              XIDFRAME
                            <------------>

SABME                        CONTACT                         SABME
--------->                  ------------->                  ------------>
UA
<---------                                                   
  RNR
<---------
   RR                        CONTACTED                       UA
<----------                <---------------                <-------------

Note that in the above flow, the circuit is set up when the first XID 
is exchanged. If XID is not used, the circuit will be set up when CONTACTED
message is sent or received. 

If we follow this approach, the NB_Datagram will be sent as DATAFRAME instead
of DGRMFRAME and will be sent to a specific MAC address and this is handled
like all the rest of the NETBIOS datagrams (as stated in Page 30 of  
RFC-1434). There is no need to establish a circuit for connection-less data
like UI frame.

The following is the SDLC to SDLC PU 2.0 Connection Sequence in which
the connection set up is initiated by the SDLC primary with SNRM.
 
   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   SDLC                                                            SDLC
   Station(P)                                                      Station(S)

SNRM                           CANUREACH_ex                    
----------->                   ------------>   Look up the sdlc mac in config
(Note2)                                        (Note1)
                                   ICANREACH_ex                  

                                 <--------------

SNRM                           CONTACT                          SNRM
----------->                   ------------>               ----------->
---------->
----------> subsequent SNRMs dropped.
  
                                    CONTACTED                      UA
SNRM                             <-------------                 <----------
---------->                                                        (Note3) 
   UA
<---------

Note1: Responding to CANUREACH_ex is implementation dependent.
The options are 

1. simply respond without regard to the status of the link station. 
2. Send TEST/SNRM/DISC and respond only if TEST/UA/DM or UA  response is 
   received. 

Note2: The same sequence will occur if XID is received instead of SNRM. 
The XIDFRAME SSP message will be sent instead of CONTACT SSP message and
subsequent XIDs will be  dropped until XIDFRAME is received from target
station.

Note3: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt of UA frame and HALT_DL will be sent
instead of CONTACTED message.

The following is the LAN to SDLC PU 2.0 Connection Sequence in which
the connection set up is initiated by the SDLC secondary. 

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   SDLC                                                            LAN
   Station(S)                                                      Station(P)

(null XID(c))                CANUREACH_ex          TEST       
----------->                ------------>       ----------------->
(Note1)                      ICANREACH_ex         TEST
                           <-------------       <----------------
                        
                          null XIDFRAME              null XID(c)
                          --------------->          ---------------->
                          null XIDFRAME              null XID(c)
                          <------------            <----------------
   null  XID(c)
<--------------- (Note2)
   XID(r)                   XIDFRAME                 XID(r)
-------------->            ------------>           -------------->
                        
                            XIDFRAME
                          <------------>

                            CONTACT                       SABME
                        <------------                  <-----------
                                                           UA
                                                        --------->
                                                           RNR
   SNRM                                                     ---------->
<---------
    UA
---------->
                         CONTACTED                           RR
                        ------------->                    ------------>

Note1: The DLSw has to initiate the connection set up on behalf of the 
secondary link station. When the DLSw decides to do this  and how it dtermines
that the SDLC link station is up is implementation dependent. 
It does this by simulating a receipt of null XID from the attached link station. 

Note2: The DLSw will forward this XID to the SDLC station and thereafter the
the connection set up proceeds normally.      

----------------------------------------------------------------------------
  Part-II- Some Sample SDLC connection Flows.
  ------------------------------------------

  SDLC FLOW #1
  -------------

  The following is the SDLC to SDLC PU 2.0 Connection Sequence in which
  the connection set up is initiated by the SDLC primary with SNRM.
 
   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   SDLC                                                            SDLC
   Station(P)                                                      Station(S)

SNRM                           CANUREACH_ex                    
----------->                ------------>  Look up the sdlc mac in config.

SNRM                     
----------->             
---------->
----------> subsequent SNRMs dropped.

                            ICANREACH_ex                  
                            <--------------(Note1)
                               CANUREACH_cs
                         --------------------->        
                           ICANREACH_cs         
                         <---------------------(Note1)

SNRM                           CONTACT                          SNRM
----------->                   ------------>                ----------->
---------->
----------> subsequent SNRMs dropped.
  
                                    CONTACTED                      UA
SNRM                             <-------------                 <----------
---------->                                                        (Note2) 
   UA
<---------

Note1: Responding to CANUREACH_ex/cs is implementation dependent.
The options are 
1. simply respond without regard to the status of the link station. 
2. Send TEST/SNRM/DISC and respond only if TEST/UA/DM or UA  response is 
   received. This is applicable to both CANUREACH_cs and CANUREACH_ex SSP 
   messages. 

Note2: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt ofUA frame and HALT_DL will be sent
instead of CONTACTED message.

  SDLC FLOW #2
  -------------

The following is the SDLC to SDLC PU 2.0 Connection Sequence in which
the connection set up is initiated by the SDLC primary with XID.
 
   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   SDLC                                                            SDLC
   Station(P)                                                      Station(S)

XID                           CANUREACH_ex                    
----------->                ------------>  Look up the sdlc mac in config.
                                              
XID                      
----------->             
---------->
----------> subsequent XIDs dropped.

                            ICANREACH_ex                  
                         <--------------(Note1)
                               CANUREACH_cs
                         --------------------->        
                           ICANREACH_cs         
                         <---------------------(Note1)

XID                           XIDFRAME                          XID
----------->               --------------->                ----------->
---------->
----------> subsequent XIDs dropped.
  
                                XIDFRAME                      XID
                            <-------------                 <----------
                                                                 (Note2)
   XID
------------>
   XID
<-----------
                            XIDFRAME
                        <-------------->

SNRM                       CONTACT                          SNRM
----------->            ------------>                   ----------->
---------->
----------> subsequent SNRMs dropped.
  
                                    CONTACTED                      UA
SNRM                             <-------------                 <----------
---------->                                                        (Note2) 
   UA
<---------

Note1: Responding to CANUREACH_ex/cs is implementation dependent.
The options are 
1. simply respond without regard to the status of the link station. 
2. Send TEST/SNRM/DISC and respond only if TEST/UA/DM or UA  response is 
   received. This is applicable to both CANUREACH_cs and CANUREACH_ex SSP 
   messages. 

Note2: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt ofXID frame and HALT_DL will be sent
instead of XIDFRAME  message.

Note3: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt ofUA frame and HALT_DL will be sent
instead of CONTACTED message.

  SDLC FLOW #3
  -------------

The following is the LAN to SDLC PU 2.0 Connection Sequence in which
the connection set up is initiated by the SDLC secondary. 

   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   SDLC                                                            LAN
   Station(S)                                                      Station(P)

(null XID(c))                CANUREACH_ex          TEST       
----------->                ------------>       ----------------->
(Note1)                      ICANREACH_ex         TEST
                           <-------------       <----------------
                        
                           CANUREACH_cs          
                           -------------->
                           ICANREACH_cs
                          <--------------- (Note2)
        
                          null XIDFRAME              null XID(c)
                          --------------->          ---------------->
                          null XIDFRAME              null XID(c)
                          <------------            <----------------
   null  XID(c)
<--------------- (Note3)
   XID(r)                   XIDFRAME                 XID(r)
-------------->            ------------>           -------------->
                        
                            XIDFRAME
                          <------------>

                            CONTACT                       SABME
                        <------------                  <-----------
                                                           UA
                                                        --------->
                                                           RNR
   SNRM                                                     ---------->
<---------
    UA
---------->
                         CONTACTED                           RR
                        ------------->                    ------------>

Note1: The DLSw has to initiate the connection set up on behalf of the 
secondary link station. When the DLSw decides to do this  and how it dtermines
that the SDLC link station is up is implementation dependent. 
It does this by simulating a receipt of null XID from the attached link station. 

Note2: The DLSw may or may not send TEST frame and wait for its response and
this is implementation dependent.

Note3: The DLSw will forward this XID to the SDLC station and thereafter the
the connection set up proceeds normally.      

  SDLC FLOW #4
  -------------

The following is the LAN to SDLC PU 2.0   Connection Sequence in which
the connection set up is initiated by the LAN primary.
 
   ======                            ___                           ======
   |    |        ---------        __/   \__       ---------        |    |
   |    |      __|  _|_  |__     /   IP    \    __|  _|_  |__      |    |
   ======        |   |   |      <  Network  >     |   |   |        ======
  /______\       ---------       \__     __/      ---------       /______\
                Origin DLSw         \___/        Target DLSw
   Origin         partner                          partner         Target
   LAN                                                             SDLC
   Station(P)                                                      Station(S)

TEST                           CANUREACH_ex                    
----------->                ------------>  Look up the sdlc mac in config.

   TEST                         ICANREACH_ex                  
<---------------             <-----------------

  XID
--------->

                            CANUREACH_cs
                         --------------------->        

XID                         
----------->        
---------->
----------> subsequent XIDs dropped.

                           ICANREACH_cs         
                         <---------------------(Note1)

                           XIDFRAME                        XID
                        -------------------->         -------------->
   XID                     XIDFRAME                      XID
<------------            <-------------           <----------
                            XIDFRAME                      (Note2)     
                        <-------------->

SABME                           CONTACT                          SNRM
----------->                   ------------>                ----------->
  UA
<----------
   RNR
<---------
  
                                    CONTACTED                      UA
   RR                             <-------------                 <----------
<----------                                                        (Note3) 

Note1: Responding to CANUREACH_ex is implementation dependent.
The options are 
1. simply respond without regard to the status of the link station. 
2. Send TEST/SNRM/DISC and respond only if TEST/UA/DM or UA  response is 
   received. This is applicable to both CANUREACH_cs and CANUREACH_ex SSP 
   messages. 

Note2: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt of XID frame and HALT_DL will be sent
instead of XIDFRAME  message.

Note3: If the link station is not operational, the SDLC protocol timeout 
will result instead of the receipt of UA frame and HALT_DL will be sent
instead of CONTACTED message.